﻿using Util.Iocs;

namespace IterationLife.Mobile.AppServices.Services.System
{
    public interface IAuthenticationService : IDependency
    {
        /// <summary>
        /// 用户名密码注册
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="password">密码</param>
        /// <returns>身份认证Token</returns>
        string Register(string username, string password, string phone = null, string verifyCode = null);
        string Login(string account, string password);
        string ExternalLogin(string provider, string authorizationCode, string accessToken);
        void SendRegisterCode(string phone);
        void SendGetBackPasswordCode(string phone);
        void GetBackPassword(string phone, string newPassword, string verifyCode);
    }
}
